keytool 是java 用于管理密钥和证书的工具,官方文档其功能包括:
创建并管理密钥创建并管理证书作为CA 为证书授权导入导出证书主要格式keytool 采用 keystore 文件来存储密钥及证书,其中可包括私钥、信任证书;keystore 文件主要使用 JKS格式(也可支持其他格式),带密钥存储;其中私钥的存储也有独立的密码;其他格式
一、生成私钥和证书 keytool -genkeypair -alias serverkey -keystore server.keystore按提示 输入keystore 存储密码、私钥密码、个人信息,之后会生成 server.keystore文件若不想输入参数,可提供参数:
keytool -genkeypair -alias serverkey -keypass 111111 -storepass 111111 \-dname "C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=vihoo.com" \-keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore参数说明
storepass keystore 文件存储密码keypass 私钥加解密密码alias 实体别名(包括证书私钥)dname 证书个人信息keyalt 采用公钥算法,默认是DSAkeysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不支持2048长度,此时需指定RSA)validity 有效期keystore 指定keystore文件二、查看keystore详情查看详情命令
keytool -list -keystore -storepass 111111 server.keystore输出结果
Keystore type: JKSKeystore provider: SUNYour keystore contains 1 entryserverkey, Sep 25, 2016, PrivateKeyEntry, Certificate fingerprint (SHA1): 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62加上-v选项可查看更详细信息
Keystore type: JKSKeystore provider: SUNYour keystore contains 1 entryAlias name: serverkeyCreation date: Jul 22, 2017Entry type: PrivateKeyEntryCertificate chain length: 1Certificate[1]:Owner: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=vihoo.comIssuer: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=vihoo.comSerial number: 5c5eb42Valid from: Sat Jul 22 10:45:45 CST 2017 until: Tue Jul 20 10:45:45 CST 2027Certificate fingerprints: MD5: 27:ED:70:EF:4C:E3:7F:ED:6A:83:67:32:6D:10:24:38 SHA1: 79:08:97:6E:62:EE:0F:E6:81:56:66:43:9C:9D:A4:11:EF:CC:28:0C SHA256: 3B:AC:56:8E:60:C2:C8:07:61:19:C7:4A:D3:AF:1F:60:77:24:94:7C:87:6E:C8:E7:17:14:E4:7A:34:0A:CD:8F Signature algorithm name: SHA256withRSA Version: 3Extensions: #1: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: B4 10 A9 26 5D 6C 4C 46B4 69 ED 31 2B 20 D1 F4 ...&]lLF.i.1+ ..0010: 58 3C 8F 94X